package org.grow.basic.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "ShoppingBill")
public class ShoppingBill {
    @TableId(value = "shoppingBillCode", type = IdType.INPUT)
    private String shoppingBillCode;

    @TableField(value = "amount")
    private BigDecimal amount;

    @TableField(value = "updateTime")
    private LocalDateTime updateTime;

    @TableField(value = "abandon")
    private Boolean abandon;

    @TableField(value = "supplyCompany")
    private String supplyCompany;

    @TableField(value = "submitter")
    private String submitter;

    @TableField(value = "submitTime")
    private LocalDateTime submitTime;

    @TableField(value = "shoppingState")
    private ShoppingState shoppingState;

    @TableField(value = "auditor")
    private String auditor;

    @TableField(value = "auditScore")
    private Integer auditScore;

    @TableField(value = "resubmitTimes")
    private Integer resubmitTimes;

    @TableField(exist = false)
    private List<ShoppingBillItem> shoppingBillItems;

    public static final String COL_SHOPPINGBILLCODE = "shoppingBillCode";

    public static final String COL_AMOUNT = "amount";

    public static final String COL_UPDATETIME = "updateTime";

    public static final String COL_ABANDON = "abandon";

    public static final String COL_SUPPLYCOMPANY = "supplyCompany";

    public static final String COL_SUBMITTER = "submitter";

    public static final String COL_SUBMITTIME = "submitTime";

    public static final String COL_SHOPPINGSTATE = "shoppingState";

    public static final String COL_AUDITOR = "auditor";

    public static final String COL_AUDITSCORE = "auditScore";

    public static final String COL_RESUBMITTIMES = "resubmitTimes";
}